<?php

/**
 * Application level Controller
 *
 * This file is application-wide controller file. You can put all
 * application-wide controller-related methods here.
 *
 * PHP 5
 *
 * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
 * Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
 *
 * Licensed under The MIT License
 * Redistributions of files must retain the above copyright notice.
 *
 * @copyright     Copyright 2005-2012, Cake Software Foundation, Inc. (http://cakefoundation.org)
 * @link          http://cakephp.org CakePHP(tm) Project
 * @package       app.Controller
 * @since         CakePHP(tm) v 0.2.9
 * @license       MIT License (http://www.opensource.org/licenses/mit-license.php)
 */
App::uses('Controller', 'Controller');

/**
 * Application Controller
 *
 * Add your application-wide methods in the class below, your controllers
 * will inherit them.
 *
 * @package       app.Controller
 * @link http://book.cakephp.org/2.0/en/controllers.html#the-app-controller
 */
class AppController extends Controller {

    public $layout = "tema";
    public $components = array(
        'Auth' => array(
            'loginRedirect' => array('controller' => 'pages', 'action' => 'index'),
            'logoutRedirect' => array('controller' => 'users', 'action' => 'login'),
        ),
        'Session',
        'RequestHandler'
    );
    public $helpers = array('Html', 'Role');

    function beforeFilter() {
        Configure::write('Config.language', 'pt_BR');
        $this->Auth->allow('view');
        $this->Auth->authError = (utf8_encode('Voc? n?o est? autorizado a acessar este lugar.'));
    }

    //...
    public function isAuthorized($type = null) {
        if (!($type === null)) {
            if (!is_array($type)) {
                if (!(AuthComponent::user('role') == $type)) {

                    $this->Session->setFlash(utf8_encode('Voc? n?o est? autorizado ? acessar esse lugar'));
                    $this->redirect(array('controller' => 'pages', 'action' => 'index'));
                }
            } else {
                if (!(in_array(AuthComponent::user('role'), $type))) {

                    $this->Session->setFlash(utf8_encode('Voc? n?o est? autorizado ? acessar esse lugar'));
                    $this->redirect(array('controller' => 'pages', 'action' => 'index'));
                }
            }
        }
    }

    public function beforeRender() {
        
    }

}
